Senior NetSuite Consultant
Montreal, Quebec, Canada (2025)
-
Purchase Order → 3PL → Item Receipt Integration
Designed and implemented a multi-step integration between NetSuite and a third-party logistics (3PL) provider using Celigo as the integration layer. A saved search identifies eligible Purchase Orders based on predefined conditions, triggering Celigo to generate and transmit structured XML payloads to an SFTP endpoint. The 3PL consumes the payload to prepare inbound warehouse receipts and, upon physical receipt of goods, returns a confirmation XML file to SFTP.
Celigo monitors the inbound SFTP directory, transforms the confirmation payload into JSON, and persists it to a custom Batch Handler record in NetSuite. A Map/Reduce script processes unhandled batch records, parses receipt data, and programmatically creates Item Receipts, applying hardware serial numbers and supporting both partial and complete receipts based on warehouse-confirmed quantities.
-
Eco-Fee Automation with Period-Safe Controls
Implemented a beforeSubmit User Event that conditionally executes only when the transaction’s posting period is open, ensuring amounts in closed periods are never modified. The script iterates through item sublist lines, removes existing eco-fee lines by identifying items flagged with the custitem_eco_fee_item checkbox, and reconstructs eco-fee entries using a custom list field (custitem_eco_frais) that links regular items to their corresponding eco-fee items. Eco-fee lines are re-added with quantities matching the source items, allowing pricing to be driven directly by the eco-fee item configuration.
-
External ID Visibility & Controlled Editing
Developed a coordinated beforeLoad and beforeSubmit User Event that surfaces the system externalid into a custom field on the form for visibility and controlled user edits. On submit, the script synchronizes the system externalid with the updated custom value when changes are detected, enabling safe external ID corrections while preventing silent mismatches.
-
Employee Permission Configuration
Designed and managed role-based employee permission configurations to enforce appropriate access controls, support segregation of duties, and align system behavior with operational and compliance requirements.
-
Automated Sales Team Population from Projects
Implemented a beforeSubmit User Event on Sales Orders that detects an associated Job (Project), loads project-level sales team configuration, and dynamically rebuilds the Sales Team sublist. The script clears existing entries and repopulates the sublist with project-defined employees, contribution and commission values, and a standardized sales role—ensuring consistency between project setup and transactional sales data.
-
System Notes REST API with Pagination
Developed a RESTlet that exposes System Notes data with full pagination support. The API returns total result counts and page counts based on a configurable page size, and allows consumers to retrieve results one page at a time. Supports dynamic targeting of System Notes via saved search internal IDs for flexible reporting and audit use cases.
-
Advanced PDF / HTML Templates
Built and customized Advanced PDF/HTML templates for transactional documents, ensuring accurate formatting, financial precision, and alignment with business branding and communication standards.
-
Deferred Revenue Recognition Correction Automation
Created a Map/Reduce script to update deferred revenue recognition start and end dates on revenue recognition plans, enabling accurate deferred revenue tracking and ensuring journals are generated in the correct accounting periods.
-
End-to-End Billing Automation Pipeline
Designed and implemented a comprehensive NetSuite billing automation pipeline that validates Vendor Bill entry using Call Home IDs, automatically derives and populates Customer Site data, and enforces robust line- and body-level validation. The solution supports retroactive data correction through Map/Reduce processing, groups approved bills by customer to generate invoices, enforces invoice approval workflows, and dispatches approved invoices via automated email—significantly reducing manual intervention and standardizing the bill-to-invoice lifecycle.
-
Vendor Bills are entered by field technicians with Call Home IDs at the line level, representing deployed hardware.
-
Upon approval, a Map/Reduce process generates associated invoices (for rebilling purposes), which enter a pending approval state before customer delivery.
-
Implemented retroactive reconciliation logic to resolve cases where Customer Sites did not yet exist at bill creation, ensuring accurate site attribution on both Vendor Bills and resulting Invoices.
-
Item Configuration & Deployment Modeling
Configured NetSuite items to support deployment-based billing and tracking. Designed a custom Customer Site object representing deployed hardware at physical locations, including address and serial number as a unique key, and reconciled this data with an external Call Home system.
-
ARM (Advanced Revenue Management) Investigation & Stabilization
Investigated and resolved ARM generation failures by identifying missing or invalid prerequisites (such as mandatory location values) that prevented revenue arrangements from being created.
-
Revenue Recognition Recovery & Controls
Led a revenue recognition rescue initiative by preventing further incorrect journal creation using Hold Revenue Recognition, repairing historical revenue plans that had not started, recalibrating revenue recognition start and end dates, and ensuring future revenue recognition plans were correctly configured for accurate journal scheduling.
-
Customer Site Mapping for Transaction Lines
Developed a Map/Reduce process to associate a custom hardware deployment (Customer Site) object with individual line items on Sales Orders and Invoices. Implemented a three-tier matching strategy to reliably identify the correct deployment location:
- Level 1 (Primary): Direct match using the Customer Site internal ID key implemented in the custom record (by previous consultants).
- Level 2: Exact address match against the Ship-To address on the transaction line. (1 to 1 match of address and chid)
- Level 3: Match using the line address internal ID stored within the Customer Site location label. (previous consultant also put line address internalid into custom record label)
Priority is enforced from Level 1 through Level 3, ensuring deterministic matching. The resolved Customer Site is written to a custom list column on each line, enabling accurate location-based profitability and operational reporting.
-
Financial Statement & Management Reporting Customization
Customized Profit & Loss, Trial Balance, and Balance Sheet reports to support management reporting, financial analysis, and operational decision-making.
-
BambooHR ↔ NetSuite Integration Activation
Recovered and stabilized the BambooHR–NetSuite integration, ensuring accurate employee synchronization and resolving data inconsistencies affecting downstream HR and financial processes.
-
Weekly Employee Time Compliance Automation
Implemented a Map/Reduce process that runs weekly to aggregate employee time entries from the prior week, validate 40-hour compliance, and automatically notify employees via email based on predefined exception scenarios—improving time-tracking accuracy and accountability.
-
CSV Import Error Diagnosis & Resolution
Investigated and resolved complex CSV import errors, identifying root causes across field configuration, scripting conflicts, and data dependencies to restore reliable bulk data operations.
-
OTC Integration Flow Overview (15 flow, 10 script integration)
-
Custom Customer Payment Application (Invoice Group–Based)
Enhanced a full replacement of NetSuite’s native Customer Payment Application sublist to enable applying payments at the Invoice Group level (instead of individual invoices). Implemented using a coordinated User Event + Suitelet + Client Script architecture that dynamically renders custom invoice, credit, and deposit sublists, supports filtering and pagination, and provides auto-apply, pay-all, and discount functionality. User selections are persisted across reloads via custom records and server-side caching, then reconciled back into NetSuite’s native payment sublist upon save.
-
User Event: Builds the custom Customer Payment UI (tabs, sublists, buttons, and fields), executes saved searches to retrieve invoice group data, and prepares the form for pagination, filtering, and state persistence.
-
Suitelet: Retrieves and updates user-scoped cached state (including custom record references) and returns it to the Client Script to preserve UI state across pagination, filtering, and page reloads.
-
Client Script: Manages and updates persisted UI state during user interaction, ensuring invoice group selections, payment amounts, and filters remain synchronized across pagination and refreshes.
-
Two-Level Journal Entry Approval Workflow
Designed and implemented a two-tier Journal Entry approval workflow based exclusively on transaction amounts in USD. Approval routing dynamically assigns different approvers depending on journal value thresholds, ensuring proper financial oversight while maintaining efficient processing.
-
Custom Invoice Email Delivery
Built custom invoice email functionality that delivers invoices to customers with both PDF and Excel attachments, enabling detailed line-level review while preserving compatibility with existing integrations and billing workflows.
-
Bulk Price Increase Automation
Implemented a controlled price increase process that identifies impacted Sales Orders using a saved search filtered by Call Home ID and Ship-To location. Automated the closure of existing pricing lines and creation of replacement lines with updated rates using coordinated CSV imports supported by Excel macros, enabling safe, auditable bulk updates.
-
Sales Order → Multi-Invoice Safeguards
Enhanced custom Sales Order–to–Invoice generation logic to detect when all order lines are closed and automatically remove the Next Bill Date. This prevents downstream invoice generation scripts from triggering unnecessarily and ensures billing accuracy.
-
Missed Billing Recovery & Automation Stabilization
Led a billing recovery initiative after identifying a critical flaw in legacy invoice generation logic where the script silently exited instead of throwing and handling errors. This defect resulted in multiple months of missed customer invoicing in a high-volume NetSuite environment. After correcting the logic, performed a full impact analysis to identify all missed billing events, repaired affected Sales Orders and Invoices, and restored automated invoice generation to ensure accurate and uninterrupted billing for future periods.
-
Multi-Subsidiary Financial Data Migration (Xero → NetSuite)
Led a large-scale financial data migration for two subsidiaries, transitioning approximately 10,000 records from Xero to NetSuite. The migration covered master data, financial configuration, and transactional history, ensuring data integrity, reconciliation accuracy, and operational continuity across entities.
-
Master & Reference Data:
- Items
- Vendors
- Customers
- Chart of Accounts
- Subsidiaries
- Currencies
- Taxes
-
Transactional Data:
- Journal Entries (Adjustments, Bank Transfers, End-of-Period, Manual)
- Supplier Invoices, Credits, Applications, and Refunds
- Sales Invoices, Credit Memos, Applications, and Customer Payments
- Intercompany Journal Entries (Receive Money, Spend Money)
-
Fixed Asset Depreciation History Debugging
Investigated and resolved issues preventing Fixed Asset Module depreciation history journals from generating. Built diagnostic reports to isolate root causes and identified inactive locations as the blocking factor. This analysis also uncovered and explained approximately $300,000 in excess depreciation generated during a period when the location was reactivated, enabling corrective action and improved financial accuracy.
-
CSV Upload Templates & Import Enablement
Designed standardized CSV upload templates to support consistent, repeatable data imports, reducing user error and improving reliability across finance and operations teams.
-
Legacy Customization Remediation & ID Architecture Stabilization
Audited and corrected legacy customizations from prior consultants that allowed duplicate externalid values to be created. Migrated the system from an unsafe external ID–based primary key model to a stable internal ID–based architecture, restoring data integrity and preventing future duplication.
-
Avalara AvaTax Monitoring & Cost Control
Investigated and monitored Avalara AvaTax API call volume to identify excessive tax calculation requests and ensure compliance with customer budget constraints.
-
AvaTax Configuration Recovery & Integration Repair
Resolved a critical AvaTax failure caused by outdated configuration after a vendor update. Diagnosed item-level tax calculation failures and corrected missing default company code mappings at the subsidiary and item levels by coordinating configuration updates in both Avalara and NetSuite.
-
Financial Formatting & Invoice Output Accuracy
Updated XML-based email generation logic to enforce two-decimal-place rounding for monetary values, ensuring financial accuracy and consistent formatting when generating Excel attachments for customer invoicing.
-
Customer Site Reconciliation Validation
Implemented validation logic to support and enforce customer site reconciliation workflows performed by analysts, preventing incomplete or inconsistent site attribution.
-
Price Increase Impact Analysis Reporting
Built a targeted saved search to identify Sales Orders affected by pricing changes, enabling finance teams to review and analyze all impacted line items in a single, scrollable view rather than navigating orders individually.
-
Payment Terms Compliance Reporting
Created an exportable report identifying customers without payment terms applied, allowing finance teams to quickly remediate configuration gaps.
-
Terms & Due Date Enforcement (UI & CSV)
Developed a User Event that triggers on missing payment terms or due dates during both UI entry and CSV imports, enforcing required data capture and preventing incomplete transactions from being saved.
-
Dues & Subscriptions GL Impact Reporting (Secondary Book)
Built a saved search to report on General Ledger impact for dues and subscription transactions in a secondary accounting book, supporting audit and financial review requirements.
-
Custom Profit & Loss Reporting
Converted Profit & Loss reporting requirements into a saved search focused on specific accounts, enabling exportable and filterable financial analysis beyond standard reports.
-
Tax Analysis & Averaging in USD
Created a saved search to calculate average tax amounts across all invoices in USD, supporting finance analysis and tax reporting consistency.
-
Custom Invoice Email Compatibility
Implemented custom invoice email functionality with detailed Excel line-item attachments while ensuring compatibility with existing Fazeshift integrations.
-
Vendor Bill Payment Approval Maintenance
Updated approver configurations for Vendor Bill Payment Processing to align with evolving approval policies and operational requirements.
-
Employee Lifecycle Management
Managed employee record lifecycle processes for departing employees, ensuring clean deactivation while preserving historical data integrity.
-
Integration User Strategy
Created dedicated integration users to ensure system integrations continue functioning when employee accounts are inactivated after departure.
-
CIBC ↔ Nilus Integration Recovery
Resolved a non-functional CIBC–Nilus integration by diagnosing an SFTP authentication failure and restoring connectivity through credential updates.
-
AvaTax Calculation Bug Resolution
Resolved a critical issue causing tax amounts to be multiplied by 100 by correcting the execution order of AvaTax scripts within NetSuite deployments, restoring accurate tax calculations.
-
Automated Location Assignment by Revenue Type
Implemented a User Event that dynamically sets transaction locations based on whether invoice items represent deferred or direct revenue, ensuring proper accounting and reporting behavior.
-
Item Configuration for Ship-To Tracking
Reconfigured item records to enable Ship-To functionality, allowing accurate tracking of physical delivery locations for shipped items.
-
CSV Import Validation for Revenue Type Conflicts
Diagnosed and resolved CSV import issues where users attempted to create transactions containing both deferred and direct revenue items—an unsupported NetSuite scenario—by enforcing validation and corrective guidance.
-
Revenue by Region Reporting
Built reporting logic to calculate and analyze revenue by province and country, supporting geographic revenue analysis and management reporting.
-
Invoice CSV Enhancements (HubSpot Integration)
Added a custom column to Invoice records and updated CSV import templates to support importing invoices with HubSpot IDs, enabling downstream CRM reconciliation.
-
Tax Exemption Code Import Templates
Created standardized CSV upload templates for tax exemption codes, simplifying bulk configuration and maintenance.
-
Ship-To Field Investigation & Fixes
Investigated scenarios where the Ship-To field was unexpectedly disabled on certain items and corrected configuration and dependency issues to restore expected behavior.
-
Prepayment Identification & Traceability
Implemented prepayment identification logic across Invoices and Credit Memos by introducing a custom checkbox and traversal logic that propagates prepayment status across related payments and credits. Built two supporting saved searches: one tracking all prepayment invoices and their status transitions, and another consolidating prepayment-related credits and payments with their associated invoices for full auditability.
-
External ID Duplication Remediation
Investigated scripts modifying externalid values on Invoices and identified pathways allowing duplicates to be created. Repaired existing duplicate records and phased out unsafe external ID–based logic in favor of a stable internal ID–based architecture.
-
Subscription Quantity Validation & Billing Controls
Implemented validation logic to detect incorrectly billed invoice quantities by comparing subscription service periods against line-level quantities (e.g., 12-month service periods requiring a quantity of 12). Added supporting controls and reporting to help clients monitor billing accuracy and team performance.
-
Sales Order → Invoice Generation Diagnosis
Assessed and corrected issues in custom Sales Order–to–Invoice generation logic developed by prior consultants, identifying root causes of incorrect invoice creation and restoring reliable automated billing behavior.
-
Service Period Date Integrity on Invoices
Investigated and resolved issues where service period start and end dates were missing on system-generated invoices. Audited existing automation scripts to identify execution gaps and ensured service period dates are consistently populated for accurate billing and revenue recognition.
-
Customer Site Race Condition Resolution
Analyzed legacy customer site creation logic and identified a race condition causing duplicate site records during parallel executions. Implemented safeguards to ensure idempotent record creation and prevent future duplication.
-
Invoice Data Completeness Enforcement (UI & CSV)
Developed a User Event that blocks invoice creation from both the UI and CSV imports when required fields—such as service period start/end dates, location, or Ship-To—are missing, enforcing data completeness at entry.
-
RAMP Integration Mapping Enablement
Designed a compliant mapping solution for the RAMP integration by introducing a custom list/record-type key (WO#) sourced from CRM data. Implemented a weekly CSV upload process to maintain the key list, enabling RAMP users to select valid values for Vendor Bills flowing into NetSuite.
-
NetSuite Form Customization
Customized NetSuite transaction and record forms to optimize usability, enforce business rules, and align data entry with operational workflows.
-
Automated Invoice Document Numbering
Enabled automatic invoice document number generation to prevent manual entry errors and eliminate the risk of duplicate invoice numbers within the system.
Technical / Functional NetSuite Intern
Montreal, Quebec, Canada (2024)
- Developed CPA 005, SEPA, and ACH payment file format scripts for efficient financial transactions.
- Twenty+ User Event Scripts and Client-Side Scripts for various records and customizations including debugging and optimization of existing scripts.
- Example Scripts:
- Entity Bank Details Script: Prevented duplicates and ensured only one primary bank detail per customer/vendor.
- Avatax Field Mandatory Script: Enforced mandatory Avatax fields on line items.
- Validate Line Script: Ensured correct data input before submission at the line level.
- Popup Script (after Validate Field or PageInit): Displayed guidance messages to users after field validation or when the page initializes.
- Field Sourcing using Searches: Implemented field sourcing to automatically fill data based on saved searches.
- Customized many reports and saved searches.
- Created custom email XML customizations.
- Implemented Advanced HTML Templates for records like Invoices, Purchase Orders, and Credit Memos.
- Customized and implemented signature checkboxes in Sales Order templates.
- Translated advanced PDF templates to support multiple languages.
- Debugged errors in transactions and workflows, ensuring smooth system operations.
- Implemented Vendor Bill Payment Processing and created user guides for clients.
- Implemented Global Invoice Payment Processing and provided comprehensive user guides.
- Created Company Bank Details and Entity Bank Details guide.
- Created MICR cheque templates for secure check printing.
- Filtered and prepared lists for CSV imports into NetSuite, ensuring data integrity.
- Adjusting roles and permissions of users to ensure access to records.
Technical NetSuite Consultant
Montreal, Quebec, Canada (2022 - 2023)
- Developed and customized reports and saved searches to meet specific client requirements.
- Created custom email templates and advanced HTML templates for client communications.
- Debugged errors in transactions and workflows, ensuring smooth system operations.
- Set up and documented intercompany journal entries to streamline financial processes.
- Developed custom scripts to trigger integrations with external platforms like DocuSign.
- Customized User Event Script, Client Script, Map-Reduce Script.